package ${managerPackage};

import java.util.List;
import ${entityPackage}.${className};
import ${commonPackage}.entity.Pagination;

/**
 * 描述：</b>${codeName}持久化接口<br>
 * @author：系统生成
 * @version:v1.0
 */
public interface ${className}Manager{

	/**
	 * 描述:插入${codeName}
	 * @param ${lowerName} 需要插入的${codeName}
	 */
	public ${className} insert${className}(${className} ${lowerName});
	
	<#if columnKeyParam !="">
	/**
     * 描述: 根据主键查询${codeName}
     	<#list columnKeyDatas as item>
	 * @param ${item.domainPropertyName} ${item.columnComment} 
		</#list>
     * @return
     */
	public ${className} query${className}ByPrimaryKey(${columnKeyParam});
	</#if>

	/**
	 * 描述:根据主键更新${codeName}
	 * @param ${lowerName} 需要更新的${codeName}
	 */
	public void update${className}ByPrimaryKey(${className} ${lowerName});
	
	/**
	 * 描述:根据条件更新${codeName}
	 * @param ${lowerName} 需要更新的${codeName}
	 */
	public Integer update${className}ByCondition(${className} ${lowerName});
	
	<#if columnKeyParam !="">
	/**
     * 描述: 根据主键删除${codeName}
     	<#list columnKeyDatas as item>
	 * @param ${item.domainPropertyName} ${item.columnComment} 
		</#list>
     * @return
     */
	public void delete${className}ByPrimaryKey(${columnKeyParam});
	</#if>

	/**
	 * 描述:根据条件查询${codeName}分页信息
	 * <p>创建人：jrzhangwei , 2014年11月4日 下午12:47:55</p>
	 * @param ${lowerName} 查询${codeName}分页信息条件
	 * @return
	 */
	public Pagination<${className}> query${className}ByPage(${className} ${lowerName});
	
	/**
	 * 描述:根据条件查询${codeName}列表信息
	 * <p>创建人：jrzhangwei , 2014年11月4日 下午12:47:55</p>
	 * @param ${lowerName} 查询${codeName}列表信息条件
	 * @return
	 */
	public List<${className}> query${className}ListByCondition(${className} ${lowerName});
	
	
	/*user customize code start*/
${userCustomCode}
	/*user customize code end*/
}
